package proyecto.EntityBeans;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

@Entity
@Table(name="persona") 
@Inheritance(strategy = InheritanceType.JOINED)
public class Persona implements Serializable{

	private static final long serialVersionUID = 7422574264557894633L;
	
	private int idPersona;
	private String nombre;
	private String apellido;
	private String direccion;
	private int dni;
	private String estadoCivil;
	private Date fechaDef;
	private Date fechaNac;
	private String sexo;
	private String telefono;
	
	
	public Persona() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Persona(String nombre, String apellido, String direccion, int dni, String estadoCivil, Date fechaDef, Date fechaNac, String sexo, String telefono) {
		super();
		this.nombre = nombre;
		this.apellido = apellido;
		this.direccion = direccion;
		this.dni = dni;
		this.estadoCivil = estadoCivil;
		this.fechaDef = fechaDef;
		this.fechaNac = fechaNac;
		this.sexo = sexo;
		this.telefono = telefono;
	}

	public Persona(int idPersona, String nombre, String apellido, String direccion, int dni, String estadoCivil, Date fechaDef, Date fechaNac, String sexo, String telefono) {
		super();
		this.idPersona = idPersona;
		this.nombre = nombre;
		this.apellido = apellido;
		this.direccion = direccion;
		this.dni = dni;
		this.estadoCivil = estadoCivil;
		this.fechaDef = fechaDef;
		this.fechaNac = fechaNac;
		this.sexo = sexo;
		this.telefono = telefono;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	public int getIdPersona() {
		return idPersona;
	}

	public void setIdPersona(int idPersona) {
		this.idPersona = idPersona;
	}

	@Column(name = "APELLIDO")
	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	@Column(name = "DIRECCION")
	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	@Column(name = "DNI")
	public int getDni() {
		return dni;
	}

	public void setDni(int dni) {
		this.dni = dni;
	}

	@Column(name = "ESTADOCIVIL")
	public String getEstadoCivil() {
		return estadoCivil;
	}

	public void setEstadoCivil(String estadoCivil) {
		this.estadoCivil = estadoCivil;
	}

	@Column(name = "FECHADEF")
	public Date getFechaDef() {
		return fechaDef;
	}

	public void setFechaDef(Date fechaDef) {
		this.fechaDef = fechaDef;
	}
	
	
	@Column(name = "FECHANAC")
	public Date getFechaNac() {
		return fechaNac;
	}

	public void setFechaNac(Date fechaNac) {
		this.fechaNac = fechaNac;
	}

	
	@Column(name = "NOMBRE")
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "SEXO")
	public String getSexo() {
		return sexo;
	}

	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

	@Column(name = "TELEFONO")
	public String getTelefono() {
		return telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	
	
	@Override
	public String toString() {
		return "Nro. persona: " + this.getIdPersona() + " Nombre " + getNombre() + " Apellido " + this.getApellido();
	}

	
	
}
